<template>
  <div class="reg">
    <h3>注册</h3>
    <van-form @submit="onSubmit">
      <van-field
        v-model="username"
        name="username"
        label="用户名"
        required
        :rules="[{ required: true, message: '请填写用户名' }]"
      />
      <van-field
        v-model="password"
        type="password"
        name="password"
        label="密码"
        required
        :rules="[{ required: true, message: '请填写密码' }]"
      />
      <van-field
        v-model="address"
        name="address"
        label="地址"
      />
      <van-field
        v-model="phoneNum"
        required
        label="手机号"
        placeholder="请输入手机号"
        error-message="手机号格式错误"
      />
      <div style="margin: 16px;">
        <van-button round block type="info" native-type="submit">注册</van-button>
      </div>
    </van-form>
  </div>
</template>

<script>
  import { Form, Field } from 'vant';
  export default {
    components:{
      [Form.name]: Form,
      [Field.name]: Field
    },
    data() {
      return {
        username: '',
        password: '',
        address: '',
        phoneNum: ''
      }
    },
    methods: {
      onSubmit(values) {
        console.log('submit', values);
        const { username, password, address } = values
        const data = {
          username,
          password,
          address,
          phoneNum: this.phoneNum
        }
        this.$api.register(data).then(res => {
          console.log('res', res)
          this.$router.push({
            path: '/'
          })
        }).catch(err => {
          console.log('err', err)
          this.$dialog.alert({
            title: '温馨提示',
            message: err
          })
        })
      },
    },
  }
</script>

<style lang="scss">
  .reg {
    padding: 20%;
    h3 {
      text-align: center;
      line-height: 3;
    }
  }
</style>
